package com.ys.nms.module.business.dal.mysql.mempools;

import java.util.*;

import com.ys.nms.framework.common.pojo.PageResult;
import com.ys.nms.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.ys.nms.framework.mybatis.core.mapper.BaseMapperX;
import com.ys.nms.module.business.dal.dataobject.mempools.MempoolsDO;
import org.apache.ibatis.annotations.Mapper;
import com.ys.nms.module.business.controller.admin.mempools.vo.*;

/**
 * 内存 Mapper
 *
 * @author zzy
 */
@Mapper
public interface MempoolsMapper extends BaseMapperX<MempoolsDO> {

    default PageResult<MempoolsDO> selectPage(MempoolsPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<MempoolsDO>()
                .eqIfPresent(MempoolsDO::getMempoolIndex, reqVO.getMempoolIndex())
                .eqIfPresent(MempoolsDO::getEntPhysicalIndex, reqVO.getEntPhysicalIndex())
                .eqIfPresent(MempoolsDO::getMempoolType, reqVO.getMempoolType())
                .eqIfPresent(MempoolsDO::getMempoolClass, reqVO.getMempoolClass())
                .eqIfPresent(MempoolsDO::getMempoolPrecision, reqVO.getMempoolPrecision())
                .eqIfPresent(MempoolsDO::getMempoolDescr, reqVO.getMempoolDescr())
                .eqIfPresent(MempoolsDO::getDeviceId, reqVO.getDeviceId())
                .eqIfPresent(MempoolsDO::getMempoolPerc, reqVO.getMempoolPerc())
                .eqIfPresent(MempoolsDO::getMempoolPercOid, reqVO.getMempoolPercOid())
                .eqIfPresent(MempoolsDO::getMempoolUsed, reqVO.getMempoolUsed())
                .eqIfPresent(MempoolsDO::getMempoolUsedOid, reqVO.getMempoolUsedOid())
                .eqIfPresent(MempoolsDO::getMempoolFree, reqVO.getMempoolFree())
                .eqIfPresent(MempoolsDO::getMempoolFreeOid, reqVO.getMempoolFreeOid())
                .eqIfPresent(MempoolsDO::getMempoolTotal, reqVO.getMempoolTotal())
                .eqIfPresent(MempoolsDO::getMempoolTotalOid, reqVO.getMempoolTotalOid())
                .eqIfPresent(MempoolsDO::getMempoolLargestfree, reqVO.getMempoolLargestfree())
                .eqIfPresent(MempoolsDO::getMempoolLowestfree, reqVO.getMempoolLowestfree())
                .eqIfPresent(MempoolsDO::getMempoolDeleted, reqVO.getMempoolDeleted())
                .eqIfPresent(MempoolsDO::getMempoolPercWarn, reqVO.getMempoolPercWarn())
                .orderByDesc(MempoolsDO::getMempoolId));
    }

}